//80分
#include<bits/stdc++.h>
using namespace std;

bool is_blank(string line){    
    for(auto c : line){
        if(c!=' ')
        return false;
    }
    return true;
}


string del_blank(const string& line){
    int i, j;
    for(i=0;i<line.length();++i){
        if(line[i] != ' ')
            break;
    }

    for(j=line.length()-1;j>=0;--j){
        if(line[j] != ' ')
            break;
    }

    return line.substr(i,j-i+1);
}

int main(){
    int w, pcn, rn=0;
    cin >> w;
    string line;
    getchar();
    getline(cin,line);
    while(!cin.eof()){
        if(is_blank(line)){
            getline(cin,line);
        //列表项目第一行
        }else if(line.size() >= 2 && line[0] == '*' && line[1] == ' '){
            while(!cin.eof() && !is_blank(line) && line.size() >= 2 && line[0] == '*' && line[1] == ' '){
                line[0] = ' ';
                int icn=0;
                while(!cin.eof() && !is_blank(line) &&line.length()>=2 && line[0]==' '  && line[1] == ' '){//按照渲染段落的规则渲染
                    line = del_blank(line.substr(2));
                    icn += icn%(w-3)==0?0:1;
                    for(auto c:line){
                        icn += icn%(w-3)==0&&c==' '?0:1;
                    }                    
                    getline(cin,line);
                }
                rn += icn == 0 ? 1 : ((icn-1)/(w-3) + 1);
            }
            ++rn;
        }else{
            int pcn=0;
            while(!cin.eof() && !is_blank(line) && (line[0]!='*' || line[1] != ' ')){
                line = del_blank(line);
                pcn += pcn%w==0?0:1;
                for(auto c : line){
                    pcn += pcn%w==0 && c==' ' ? 0 : 1;
                }
                getline(cin,line);
            }
            rn += (pcn-1)/w + 2;
        }
    }
    cout << --rn;
    return 0;
}
